[][src]Crate kuska_handshake

Re-exports

pub extern crate sodiumoxide;

Modules

utils

Structs

BoxStreamRecv

The transport agnostic boxstream receiving side.

BoxStreamSend

The transport agnostic boxstream sending side.

Complete

The client/server state reached when a handshake has been performed.

Handshake

The Handshake type maintains the different states that happen in each step of the handshake, allowing it to advance to completion.

HandshakeBase

The initialization data of a handshake that exists in every state of the handshake.

HandshakeComplete

Type used to group all the values obtained during a successful handshake that can be used to stablish a secure authenticated channel.

Header

The header of a message in the boxstream.

KeyNonce

A pair of key and nonce used for encryption/decryption of every message in the boxstream.

RecvClientAuth

The server state that can receive the client auth.

RecvClientHello

The server state that can receive the client hello.

RecvServerAccept

The client state that can receive the server accept.

RecvServerHello

The client state that can receive the server hello.

SendClientAuth

The client state that can send the client auth.

SendClientHello

The client state that can send the client hello.

SendServerAccept

The server state that can send the server accept.

SendServerHello

The server state that can send the server hello.

SharedSecret

The shared secret obtained after a successful handshake.

SharedSecretPartial

Enums

Decrypted

Result of a successful decryption within a boxstream.

ScalarMultPk

Helper type used to define the kind of public key in a scalar multiplication. Used to define scalar multiplication errors.

ScalarMultSk

Helper type used to define the kind of private key in a scalar multiplication. Used to define scalar multiplication errors.

Constants

CLIENT_AUTH_BYTES

Size of the client auth message.

CLIENT_HELLO_BYTES

Size of the client hello message.

MSG_BODY_MAX_LEN

Max length of encrypted body (with MAC detached)

MSG_HEADER_DEC_LEN

Length of decrypted header (body_len || enc_body_mac)

MSG_HEADER_LEN

Length of encrypted header (with MAC prefixed)

SERVER_ACCEPT_BYTES

Size of the server accept message.

SERVER_HELLO_BYTES

Size of the server hello message.

Traits

State

The State trait is used to implement the typestate pattern for the Handshake.